package com.sharkpro.designPattern.myAdapter;

import java.io.*;
import java.util.Properties;

/**
 * @author jianxin.wei
 * @description
 * @date 2024/12/18 10:09
 */
public class MainPropertiesTest {
    public static void main(String[] args) {
        Properties prop = new Properties();
        InputStream in = null;
        FileOutputStream oFile = null;
        try {
            in = new BufferedInputStream(new FileInputStream("E:\\shark\\All\\sharkPro\\src\\main\\java\\com\\sharkpro\\designPattern\\myAdapter\\test.txt"));
            //prop.load(in);//直接这么写，如果properties文件中有汉子，则汉字会乱码。因为未设置编码格式。
            prop.load(new InputStreamReader(in, "utf-8"));
            for (String key : prop.stringPropertyNames()) {
                System.out.println(key + ":" + prop.getProperty(key));
            }
            //保存属性到b.properties文件
            oFile = new FileOutputStream("b.properties", false);//true表示追加打开,false每次都是清空再重写

            prop.setProperty("phone", "10086");
            //prop.store(oFile, "此参数是保存生成properties文件中第一行的注释说明文字");//这个会两个地方乱码
            //prop.store(new OutputStreamWriter(oFile, "utf-8"), "汉字乱码");//这个就是生成的properties文件中第一行的注释文字乱码
            prop.store(new OutputStreamWriter(oFile, "utf-8"), "lll");
        } catch (Exception e) {
            System.out.println(e.getMessage());
        } finally {
            if (in != null) {
                try {
                    in.close();
                } catch (IOException e) {
                    System.out.println(e.getMessage());
                }
            }
            if (oFile != null) {
                try {
                    oFile.close();
                } catch (IOException e) {
                    System.out.println(e.getMessage());
                }
            }
        }
    }
}
